//package com.csw.springbootquartz.task.simpleschedule;
//
//import com.csw.springbootquartz.entity.Quartz;
//import com.csw.springbootquartz.service.QuartzService;
//import com.csw.springbootquartz.util.EmailUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.mail.javamail.JavaMailSender;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//import org.thymeleaf.TemplateEngine;
//
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//
//
///**
// * 启动之后直接定时执行，时间不能热修改
// * quartz 定时任务  @Component+  @Scheduled(fixedRate = 2 * 1000, initialDelay = 2000)或者 @Scheduled(cron = "0/2 * * * * ? ")
// */
//@Component
//@Slf4j
///*
//https://www.pppet.net/
//*要是6位的
//*/
//public class QuartzSchedule {
//    private static String toEmail = "2197466344@qq.com";
//    @Value("${spring.mail.username}")
//    private String from;
//    @Autowired
//    private JavaMailSender mailSender;
//    @Autowired
//    private TemplateEngine templateEngine;
//
//    @Autowired
//    private QuartzService quartzService;
//
//    /**
//     * 定时任务fixedRate
//     */
//    @Scheduled(fixedRate = 1 * 1000)
//    public void run() {
//        log.error(" quartz 定时任务 fixRate]" + new SimpleDateFormat("yy-MM-dd HH:mm:ss").format(new Date()));
//    }
//
//    /**
//     * 定时任务quartz
//     */
//    @Scheduled(cron = "0/1 * * * * ? ")
//    public void run2() {
//        log.error(" quartz 定时任务 cron]" + new SimpleDateFormat("yy-MM-dd HH:mm:ss").format(new Date()));
//    }
//
//    /**
//     * 定时任务 配置文件读取
//     */
//    //3.添加定时任务
//    @Scheduled(cron = "${spring.quartz.cron}")
//    //或直接指定时间间隔，例如：5秒
//    //@Scheduled(fixedRate=5000)
//    private void run3() {
//        List<Quartz> quartzList = quartzService.findQuartzBy();
//        if (!quartzList.isEmpty()) {
//            for (int i = 0; i < quartzList.size(); i++) {
//                EmailUtil.sendSimpleMail(mailSender, from, toEmail, quartzList.get(i).getName(), quartzList.get(i).getDescribe());
//            }
//        }
//        System.err.println(" quartz 定时任务配置文件读取:" + new SimpleDateFormat("yy-MM-dd HH:mm:ss").format(new Date()));
//    }
//
//    /**
//     * 定时任务数据库读取
//     */
//    //3.添加定时任务
//    @Scheduled(cron = "#{@getCronVal}")
//    //或直接指定时间间隔，例如：5秒
//    //@Scheduled(fixedRate=5000)
//    private void run4() {
//        List<Quartz> quartzList = quartzService.findQuartzBy();
//        if (!quartzList.isEmpty()) {
//            for (int i = 0; i < quartzList.size(); i++) {
//                EmailUtil.sendSimpleMail(mailSender, from, toEmail, quartzList.get(i).getName(), quartzList.get(i).getDescribe());
//            }
//        }
//        System.err.println("quartz 定时任务数据库读取: " + new SimpleDateFormat("yy-MM-dd HH:mm:ss").format(new Date()));
//    }
//
//    @Bean
//    public String getCronVal() {
//        //返回数据库查询出来的cron
//        return "0/1 * * * * ?";
//    }
//}
